package com.iot.ruler.core;

/**
 * 线程运行状态监听
 *
 * @author lzb
 * @Date 2023/2/12 22:45
 */
public interface OnThreadExecuteListener {
    /**
     * 任务执行之前，Runnable未运行
     *
     * @param r 要执行的Runnable
     * @param t 执行Runnable的线程
     */
    void beforeExecute(Thread t, Runnable r);

    /**
     * 任务执行结束，Runnable运行结束
     *
     * @param r Runnable
     * @param t t=Throwable
     */
    void afterExecute(Runnable r, Throwable t);


    /**
     * 线程池终止
     */
    void terminated();
}
